A throughput between a transmitting device and a receiving device is defined as a value acquired by dividing a data amount of measurement data transmitted from the transmitting device to the receiving device by a transmission time required for transmitting the measurement data. The transmission time is a transmission time (corresponding to a true duration in FIG. 16) between transport layers of the transmitting device and the receiving device.
FIG. 16 is a diagram illustrating a lapse of time of measurement data transmitted from an application of a transmitting device to an application of a receiving device. A bold arrow indicates a flow of transmission of measurement data output from an application layer. The measurement data output from the application of the transmitting device are transmitted from a transport layer of the transmitting device to a transport layer of the receiving device, and are transferred to the application of the receiving device. A transmission time between the transport layers is a time required after a first packet of measurement data is transmitted from the transport layer until a last packet is received by the transport layer of the receiving device.
On the other hand, among applications, there is an application of a type which changes a service to be provided, depending on a measured throughput. For example, in an adaptive video streaming application, an image quality of video to be streamed is changed depending on a measured throughput. However, when a throughput is measured in an application layer, it is not possible to know a transmission time (true duration) between transport layers.
In view of the above, there is a method for calculating a throughput by using a transmission time viewed from an application layer of a transmitting device. In this method, a time after an application layer of a transmitting device starts transmitting measurement data until the transmission is completed is used as a transmission time. However, since the transmission time to be used by this method is different from a true duration, the difference may cause an error in a measurement result of a throughput.
Further, in this method, a data amount of measurement data is required to be sufficiently large, as compared with a size of a transmission buffer of a transport layer of a transmitting device. This is because, when measurement data are smaller than a size of a transmission buffer, transmission seems to be instantaneously completed when viewed from an application layer, since it is possible to instantaneously transfer measurement data from the application layer to the transmission buffer of the transport layer. Consequently, since a transmission time viewed from the application layer becomes substantially zero, a measurement error of a throughput may increase.
On the contrary, in a method described in PTL 1, a throughput is theoretically calculated based on a re-transmission occurrence rate, an average packet round-trip delay time, a packet loss rate, and the like. In this method, it is possible to measure a throughput without depending on a size of measurement data.